// 合理封装redux

import { createStore, applyMiddleware } from 'redux'
import reducer from './reducer'
// 利用redux-thunk中间价处理异步
import thunk from 'redux-thunk'

// 创建仓库
const store = createStore(reducer, applyMiddleware(thunk))
/**
 * ReturnType: 内置类型
 * typeof 获取 某种数据中 中所有数据的 数据类型
 * store.getState： store中所有的数据
 * 
 *  */

// interface dataType {
//     a: string,
//     b: number
// }

// const data:dataType = {
//     a: '1',
//     b: 1
// }


// coqy 可以获取到data中的所有数据类型 但是获取不到数据
// const copy = typeof data



// 获取到state中所有参数类型
export type RootStore = ReturnType<typeof store.getState>

export default store